// 单词信息类 -----------------------------------
class EngWord {
  // 参数：单词,音标,解释，备注
  constructor(word, sign, explain, remark, id = -1) {
    this.id = id
    this.word = word
    this.sign = sign
    this.explain = explain
    this.remark = remark
  }
}

// 单词库类 --------------------------------------
class EngwordBank {
  constructor(data) {
    // 如果传入单词信息数组，将所有单词信息对象的原型属性修改
    if (data) {
      this.copydata(this, data)
    }
  }

  // 初始化单词数据列表
  initData(wordListStr) {
    if (!wordListStr) return []
    // 将 本地 读取的 json数组字符串 转成数组
    let data = JSON.parse(wordListStr)
    this.copydata(this, data)
  }

  copydata(target, data) {
    for (let pro in data) {
      target[pro] = data[pro]
    }
  }

  // 添加单词_参数：内容，是否正确，选择题的 选项字母
  addWord(word, sign = false, explain = null, remark = null) {
    // 生成答案id
    let aId = this.options.length === 0 ? 1 : this.options[this.options.length - 1].id + 1
    // 添加 答案对象 到 数组
    this.data.push(new EngWord(aId, word, sign, explain, remark))
  }
}
